package me.fangsong.timefold.line.solution;


import ai.timefold.solver.core.api.domain.solution.PlanningEntityCollectionProperty;
import ai.timefold.solver.core.api.domain.solution.PlanningScore;
import ai.timefold.solver.core.api.domain.solution.PlanningSolution;
import ai.timefold.solver.core.api.domain.solution.ProblemFactCollectionProperty;
import ai.timefold.solver.core.api.domain.valuerange.ValueRangeProvider;
import ai.timefold.solver.core.api.score.buildin.hardsoft.HardSoftScore;
import me.fangsong.timefold.line.domain.Line;
import me.fangsong.timefold.line.domain.Work;

import java.util.List;

@PlanningSolution
public class Plan {

    @PlanningEntityCollectionProperty
    private List<Line> lineList;

    @ValueRangeProvider
    @ProblemFactCollectionProperty
    private List<Work> workList;

    @PlanningScore
    private HardSoftScore score;

    public Plan() {
    }

    public Plan(List<Line> lineList, List<Work> workList) {
        this.lineList = lineList;
        this.workList = workList;
    }

    public List<Line> getLineList() {
        return lineList;
    }

    public void setLineList(List<Line> lineList) {
        this.lineList = lineList;
    }

    public List<Work> getWorkList() {
        return workList;
    }

    public void setWorkList(List<Work> workList) {
        this.workList = workList;
    }

    public HardSoftScore getScore() {
        return score;
    }

    public void setScore(HardSoftScore score) {
        this.score = score;
    }
}
